package com.witmore.neutron.ai.web.wechat.dto;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

import java.util.List;

/**
 * 自定义菜单DTO
 * Author: 豆子高
 * Date: 2025/12/19
 */
@Data
public class CustomMenuDTO {

    /**
     * 一级菜单数组，个数应为1~3个
     */
    @JSONField(name = "button")
    private List<MenuButton> button;

    @Data
    public static class MenuButton {
        /**
         * 菜单标题，不超过16个字节，子菜单不超过60个字节
         */
        private String name;

        /**
         * 菜单的响应动作类型，view表示网页类型，click表示点击类型，
         * miniprogram表示小程序类型
         */
        private String type;

        /**
         * 菜单KEY值，用于消息接口推送，不超过128字节
         */
        private String key;

        /**
         * 网页链接，用户点击菜单可打开链接，不超过1024字节。
         * type为miniprogram时，不支持小程序的老版本客户端将打开本url。
         */
        private String url;

        /**
         * 调用新增永久素材接口返回的合法media_id
         */
        @JSONField(name = "media_id")
        private String mediaId;

        /**
         * 小程序的appid（仅认证公众号可配置）
         */
        private String appid;

        /**
         * 小程序的页面路径
         */
        private String pagepath;

        /**
         * 二级菜单数组，个数应为1~5个
         */
        @JSONField(name = "sub_button")
        private List<MenuButton> subButton;
    }
}
